Field of the Invention
The present invention relates to an information processing technique for searching for a device on a network.
Description of the Related Art
In recent years, along with popularization of network-compatible devices, discovery protocols for searching for a device on a network via the network have been developed. There already exist various discovery protocols. Examples of the discovery protocols are a protocol (to be referred to as a proprietary protocol hereinafter) proprietarily developed by a vendor for developing a device, and an open protocol like Bonjour® used for Mac OS X® as an operating system provided by Apple. Bonjour is based on specifications called Zero Configuration Networking stipulated by IETF.
While there exist various discovery protocols, devices supporting a plurality of protocols including a proprietary protocol and a standard protocol like Bonjour increase. Japanese Patent Laid-Open No. 2009-31899 discloses a technique of more reliably searching for a device supporting a specific protocol by performing a search using a predetermined network protocol and a search using another protocol in order to transfer data using the predetermined network protocol.
If, however, a search is performed using each of a plurality of discovery protocols, it may be impossible to acquire desired device information since, for example, the detection timings by the respective discovery protocols are different from each other.
As an example for explaining this problem, assume a case in which a device supports two protocols, that is, a proprietary protocol and Bonjour, and device information is provided to the user by displaying it as a search result. Assume also that only a MAC address is transmitted as device information using the proprietary protocol, and a Bonjour service name is transmitted using Bonjour. In this case, it is desirable to preferentially display the Bonjour service name transmitted using Bonjour. This is because the MAC address transmitted using the proprietary protocol is a defined 48-bit number such as “00:11:22:33:44:55”, and it is difficult for the user to identify a device corresponding to the MAC address. To the contrary, since the user can independently set a Bonjour service name, he/she readily specifies a device. Therefore, it is desirable to preferentially display the Bonjour service name over the MAC address.
There are various devices on a network, such as a device supporting only a proprietary protocol, a device supporting only Bonjour, and a device supporting both the protocols. Consequently, both the proprietary protocol and Bonjour may be used to search for devices. This is because if a search is performed using one of the protocols, it becomes impossible to discover a device that does not support the protocol. If both the proprietary protocol and Bonjour are used to search for devices, device detection timings by the two protocols may be different from each other. If detection of a device using Bonjour is quicker, a Bonjour service name is acquired. After that, if the device is detected using the proprietary protocol, and the device information is overwritten by the MAC address, it is impossible to recognize the Bonjour service name.
Furthermore, even if a device is detected first using the proprietary protocol that is not prioritized, and then the device is detected using Bonjour, the user cannot recognize a Bonjour service name unless the Bonjour service name is preferentially presented as a search result. When the user wants to use a device according to the proprietary protocol, and acquire a Bonjour service name, even if the Bonjour service name is acquired using Bonjour, it may be impossible to use the device according to the proprietary protocol.
This problem may arise not only for Bonjour and the proprietary protocol but also for various protocols with which pieces of information acquirable by a search are different from each other. In addition, the above problem may arise not only when a search result is displayed to be presented to the user but also when a search result is used for purposes other than a display purpose.